package lzw;

/**
 *
 * @author Atuan
 */
public abstract class InputOutput {
        public static final int BYTE_SIZE = 8;
        public static final int BYTE_MASK = 255;
        
        protected int codeWordLength;
        /**
         * Binary mask for clipping <code>codeWordLength</code> bits from integers
         * with binary operations.
         */
        protected int mask;
        /**
         * Internal bufferfer for accumulating output.
         */
        protected long buffer;
        /**
         * Number of bits of internal bufferfer, actually used for storing codes.
         */
        protected int bufferUsageBits;
        /**
         * Number of bytes of internal bufferfer, actually used for storing codes.
         */
        protected int bufferUsageBytes;
        /**
         * Number of codes, that can be actually stored there.
         */
        protected int bufferUsageSymbols;
        /**
         * End-of-file flag.
         */
        protected boolean eof;
}
